package com.huilian.iotbox.data.dto;

import com.huilian.iotbox.data.vo.CommodityProjectVo;
import lombok.Data;
import lombok.ToString;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


@Data
@ToString(callSuper = true)
public class CommodityStoreUpDownDto extends QueryParam implements Serializable {
    private Long id;
    private Long commodityStoreUpDownId;

    /**
     * 商品Id
     */
    private Long commodityId;

    /**
     * 场地Id
     */
    private Integer merchantStoreId;

    /**
     * 商户Id
     */
    private Integer userId;

    /**
     * 状态：0.下架，1.上架
     */
    private Integer status;

    /**
     * 回收价格
     */
    private BigDecimal retailPrice;
    /**
     * 纳入售币营业额，0/null：不纳入；1：纳入
     */
    private Boolean includeCoinSalesTurnover;

    /**
     * 严格库存管理，0/null：不开启，可以扣到负数；1：开启，最小到0
     */
    private Boolean strictInventoryManagement;
    private Integer ticketPackageType;
    private Integer amount;
    /**
     * 指定到期时间
     */
    private Date specifyDueTime;
    private Integer totalNumberOfPlay;
    /**
     * 每天核销次数
     */
    private Integer everydayQuantityWrittenOff;
    /**
     * 限制每天核销次数
     */
    private Boolean quantityWrittenOff;
    /**
     * 首次使用后开始计算过期天数
     */
    private Boolean resetExpirationDate;
    /**
     * 首次使用后多少天过期
     */
    private Integer numberOfDays;
    /**
     * 开启兑换
     */
    private Boolean openExchange;
    /**
     * 积分兑换价格
     */
    private Integer integralConversionPrice;
    /**
     * 游戏币兑换价格
     */
    private Integer coinConversionPrice;
    /**
     * 彩票兑换价格
     */
    private Integer lotteryConversionPrice;
    /**
     * 开启回收
     */
    private Boolean openRecovery;
    /**
     * 回收价格
     */
    private Integer recoveryPrice;
    /**
     * 会员非空，代表分类下的商品购买时memberId不能空，兑币机自动上报除外。null/0:可以为空，1:非空
     */
    private Boolean memberNotEmpty;
    /**
     *
     */

    private Date createTime;
    /**
     *
     */
    private Date updateTime;

    private Integer commodityGroupType;
    private Boolean posTerminal;
    private Integer num;
    private String commodityName;

    /**
     * 隐藏/显示
     */
    private Boolean hide;

    /**
     * 套餐类别
     */
    private Integer type;

    /**
     * 游戏币套餐ID
     */
    private List<Integer> packageIdList;

    /**
     * 套餐Id
     */
    private Long discountPackageId;

    /**
     * 设备号
     */
    private String deviceNo;

    /**
     * 默认套餐，1、5、10、20、50、100元套餐。金额不能修改，但币数可以修改
     */
    private Boolean isDefault;

    private Integer integralPrice;

    private BigDecimal price;
    private Date usageTime;
    /**
     * 时间戳
     */
    private Long timestamp;

    private Integer numberOfPlay;
    /**
     * 加密串
     */
    private String sign;

    private Integer ticketRecordId;

    private Integer sale;

    private List<CommodityProjectVo> commodityProjectVos;

    /**
     * 上架用户端
     */
    private Boolean clientTerminal;

    /**
     * 是否为自提
     */
    private Boolean isSelfMention;
    /**
     * 是否为直邮
     */
    private Boolean isDirectMail;

    /**
     * 开启商城兑换
     */
    private Boolean integralMallSelfService;

    /**
     * 上架小程序积分商城
     */
    private Boolean integralMallTerminal;
    private Integer commodityType;

    private BigDecimal costPrice;

    private Integer deviceId;

    private Integer hierarchy;

    private Integer freightLane;
    /**
     * 会员售价
     * */
    private BigDecimal retailVIPPrice;
}

